{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "6a7d36be-7176-4e61-829f-3197f4261c43",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "数据基本信息：\n",
      "数据形状: (1000, 6)\n",
      "响应分布:\n",
      "响应\n",
      "0    600\n",
      "1    400\n",
      "Name: count, dtype: int64\n",
      "\n",
      "训练集大小: (800, 5)\n",
      "测试集大小: (200, 5)\n",
      "\n",
      "模型评估结果：\n",
      "准确率: 0.8500\n",
      "AUC: 0.9427\n",
      "\n",
      "分类报告：\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.83      0.94      0.88       119\n",
      "           1       0.89      0.72      0.79        81\n",
      "\n",
      "    accuracy                           0.85       200\n",
      "   macro avg       0.86      0.83      0.84       200\n",
      "weighted avg       0.86      0.85      0.85       200\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArsAAAIgCAYAAACFwqECAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACHIElEQVR4nOzdeZyN5f/H8deZ3TCMZSI7kRb7kKWyb9lJspcIoWgR2pAlJKWSyJYtLUiyZN9KIRHfSchSKMbSLMaMWe7fH9fPYbLNjDNzz5zzfj4e8+hc99z3OZ/jbmbec821OCzLshARERERcUNedhcgIiIiIpJeFHZFRERExG0p7IqIiIiI21LYFRERERG3pbArIiIiIm5LYVdERERE3JbCroiIiIi4LYVdEREREXFbCrsiIiIi4rYUdkVEMpn4+HiGDx/OgQMHkh3/5ZdfmDJlCgAHDx50Pr5dn3zyCStXrnTJc6VVREQEa9eu5d9//3W2v/rqK/7++29b6xKRrM+h7YJFRDKX+Ph4/Pz8WLVqFY0bNyYmJoaAgAC+/PJL3nvvPbZt28Y333zD008/zalTp4iLi8PhcODn5wfAnDlz+PPPP/Hx8Un2vElJScTGxvLmm28SFRWFv78/fn5+NG7cmKpVqzJq1Cg73i4AP/30E9WrV+fnn3+mcuXK/P7779xzzz3Of4Obadu2LQ888ABDhgxxHtu0aRO9evXi448/5uGHH+bUqVMUKlQovd+GiGRC6tkVkUylTZs2FC1a9Jbn1alTh+HDh6foOTdu3IjD4XB+BAcH07BhQ/73v//dZrXpw9fXFy8vL/z9/QFo2LAhBQoUoE+fPvz8888UKFCAJ598kjNnzlCgQAEKFCjAF1984bz+yJEj7Nq1i7Fjx7J06VJ2797NJ598wieffMKvv/4KQI0aNZg5cyYA/v7+ztc6evToNf9W9evX56effkpW4+VwGhAQQMmSJfn444+veR+ffvoppUuXJiAggHr16nHw4MEbvufAwEAAgoODAciePbuztpvZv38/X3/9NeXLl092PFeuXBw4cIA8efLw4YcfUr16df7555+bPpeIuCeFXRHJNBITE9mwYQN//fUX+/fvd/nzz58/nx07drBkyRIsy6JJkyZER0e7/HVuZfbs2WzcuPG6n0tKSgLA4XAA5t/k+++/5/Tp03z++ec89thj/PPPPyxatIgKFSrwzz//cP78ebp06eJ8jmHDhrF48WIKFSrECy+8wMKFC6lbty61a9fm66+/BpIHXC8vL+frXTZ69Gh27NjB7NmziYmJoU6dOs5hFUePHqVhw4Z4eXmxZMkSGjduzDPPPJMscC9cuJAnn3yS9u3bs3z5cvz9/WnatCkJCQnXfd+XX9/LK3U/lt588026d+9O06ZNiYqKch6/HJoDAwN57rnnePDBB9Pl/ykRyfwUdkUk0/jpp5+IiIjA39+fNWvWuPz577vvPqpUqULdunWZMmUKx48fZ+vWrS5/nVu5Udj9999/8fb2xsfHh8TEROrVq4ePjw9nzpzhySefZObMmSQmJtKhQwemTp3K3XffTYcOHXj77bev+zqXLl26Yc/o5Z7bGylZsiRVqlShdevWfPPNN1iWxcKFCwH44IMPiIuL4+uvv+aRRx5hypQpVK5cmXHjxgFgWRaDBw+mZcuWjB49mvr16zNr1iyOHDnCl19+CcDWrVudQy8CAgIIDQ0FoEyZMgQEBFCqVCkAGjVqREBAAAEBATgcDsaPH++scdOmTaxdu5Zx48Zx9OhRChYsyKJFi5K9j+joaH755RcaNGjA1KlT6d69+w3fs4i4J59bnyIikjHWrFlDiRIlCA0NZfXq1Tz77LPp9lqXexBjY2PT7TVSKzg4mIsXL3Lw4EHKly/PunXrqFGjBgEBAaxYsYJ33nmHe++9N9k1S5cuZfv27c72vHnzWLlyJX5+fvzzzz9MnjyZb775hq1bt5KYmEjXrl1p3759quoKCQmhWLFiHD9+HDAhs3z58txxxx3Oc+rXr8/bb79NVFQUBw4c4M8//0w2BrhAgQIUKlSIffv2ARAQEADA6tWrqVOnDvv27aNcuXL8/vvvFC9enOPHj1OkSBHn5xMSEvD19XWG9/3799OpUyfGjRtHQEAAQ4YMoUSJEuTNm5e3336bH3/8EYBq1apxzz33UKlSJcqVK0elSpVS9d5FJOtTz66IZBpr1qyhTp061KlTh40bNxIfH+/83Pjx4ylQoAA5c+bkxRdf5L9za3fu3EmtWrXIkSMHhQoVYsiQIdecc9m5c+cYNmwYuXLl4uGHH3Ye/+6776hYsSL+/v7cf//9LFmyJNl1p06dokOHDgQFBRESEsLzzz9PXFyc8/NxcXEMGDCAggULkj17dmrUqJEsiF7uTd20aRMjRoxwto8ePeo8JyAggO+++w6A9evX8+effwLg4+PD888/T/PmzZN9vP/++3h7ezuvz5UrF4UKFSJXrlxER0dTunRpChcuTGBgINmzZ6dQoUIEBQURHx9/wyEF/5WUlER4eDghISEAHD58+Jpx1YULFwbMEIe9e/cCppf2agsWLKBTp04AyWpOjcvXbd26lZMnT/LUU08REhLC7NmzmT17Nnv27GHbtm089NBDeHl5sXz5cn799Vc+/fRTXnnlFerXr8/58+fT9NoikjWpZ1dEMoXIyEh++uknnn76aUJDQ4mOjmbbtm3UqlWLhQsXMmTIEN544w0efPBBxowZww8//EDdunUB86fqxo0bU6VKFVasWMHx48fp3bs3999/P127dnW+xtW9ev7+/qxYsYK8efMCZhJbs2bNePLJJ3nnnXf45ptvePTRR1m6dCktWrQgNjaW+vXrk5SUxPz58zl//jwvvfQSf/31F1999RUAb731FjNmzGDatGnccccdfPzxx7Rq1YqTJ0/icDjYsWMHAL179yY0NJRevXoBULBgwWT/FvPnzwdg7dq1/P3330yfPh2Hw8GqVauoUqVKsnOnT5/O2rVrne0WLVrQokULJkyYQN68eZk0aRLe3t789ddfJCQkMHbsWMAE88u92klJSTcc0hAZGcnIkSM5f/48rVq1AiAqKso5geyyy+2oqChOnz4NQJ48eZKd8+CDDzof32wIRUp06tSJ0qVLU6VKFQYMGEDOnDmpXLkylStXZsCAAYAZdxwWFkZMTAy//vorP/zwA5s3b+bll19m2LBht/X6IpJ1KOyKSKawYcMGEhISqFOnDkWLFiUkJITVq1dTq1Yt3nvvPR555BHn6gsVKlRI1rMYHR3N6NGjadmyJQULFuTSpUtMmjSJbdu2JQu7CxcupEyZMhw/fpwxY8bQuXNnvv/+e0qWLMnw4cOpXr0606dPB8yf5Q8dOsQbb7xBixYtWLhwIb/99hthYWHOHsvAwEDat2/Pnj17qFChAkePHqVo0aJ07NgRh8NBhQoV+Omnn5x/gr8cVIOCgihYsOA1wRVMb+4///yDl5cXzz77LL1792bEiBEkJibe8N/u6s9dvHiRKVOm8Morr/D22287e0IvXbrEpUuXnOft37+fP//8kwkTJrBjxw4aNWqU7Dk7duxIx44dnfV++OGH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PG3aNEqWLMnAgQNTdP6ePXuoV68eDocDgAceeIChQ4emY4Ui4gpnzsDXX8OWLXDpUvq8RlKSN3//HcqCBd54aSaC29P99iy6354lLs7b5c9pW9gtWbJkqs6PjIzkvvvuc7Zz5szJiRMnbnh+XFwccXFxya4HiI+PJz4+PpXVSlZz+R7rXtvj779h6VIvlixxsHmzg8RERzq/ohdQOJ1fQzIP3W/PovvtKbxJIDEdBh3YFnZTy8fHB39/f2c7ICCAmJiYG57/1ltvMWLEiGuOb9iwgcDAwHSpUTKfNWvW2F2CxwgPD+DHHwvyww8F2b8/D5aV3gFXRETcg0VfPqIfk6nOd0S5+NmzTNjNkycP4eHhznZUVBR+fn43PH/o0KG88MILznZkZCRFihShbt265M2bN11rFfvFx8ezZs0aGjZsiK+vr93luK3Dh2HJEtODu3379X8bL1XKonXrJFq1ssif30qXOhISEtiyZQsPP/wwPj5Z5tuapJHut2fR/XZv3mdOkX9oL7JvWgnArmenU/oD175Glvm/pmrVqnz22WfO9u7duylUqNANz/f390/WE3yZr6+vwo8H0f12vf37YdEi8/HLL9c/57774NFHzUf58g4cDtePwbpafDwcOHCRUqV8dL89gO63Z9H9dmMrVkD37nD6NPj7w/jx5O7YET5406Uvk+nCbmRkJNmyZbvmf+iWLVvSr18/NmzYwMMPP8yECRNo3LixTVWKeA7Lgn374KuvTMD93/+uf16FCtCunQm4996bsTWKiEgWcvEiDBoEkyebdrlysGABlC0LZ8+6/OUyXdgtX7487733Hq1bt052PF++fLzzzjs0btyYXLlykT17di09JpJOLAt27TLh9quv4ODB659XteqVHtxSpTK2RhERyaKGDr0SdJ9/HsaMgYCAdHs528OuZSUfw3ezTSb69u1Lo0aN+O2336hduzY5c+ZM5+pEPEdSEvz005UhCjf6UnzwQRNu27aFYsUytEQREXEHr75q1qN86y1o1CjdX872sJtapUqVopS6kERcIjERtm414XbxYrjean5eXlCrlhmi0KYNFCyY8XWKiEgWduKEGaYwaJBph4TAzp3gyJhVe7Jc2BWR2xMfDxs3moC7ZImZF/BfPj5Qr54JuK1awR13ZHiZIiLiDhYtgqefhvPnTW9J587meAYFXVDYFfEIcXGwbp0Zf7t0KZw7d+05fn7mr0mPPgotW0KePBlfp4iIuInoaBgwAGbONO3QUKhSxZZSFHZF3NTFi/Ddd+aX6m++gf/fRDCZbNngkUdMwG3eHDQMXkREbtv27aYH99Ah04M7ZAgMH256VWygsCviRqKjzbKFixbB8uVw4cK15+TIAc2amSEKjzwC2bNnfJ0iIuKmJk82PbqJiVCkCMydC7Vr21qSwq5IFhcRAcuWmYC7ahXExl57Tq5cZmhCu3ZmqEI6rvAiIiKerEwZE3QffxymTIHcue2uSGFXJCs6e9YMTfjqK1izxkw6+6+8eaF1axNw69Wz7a9HIiLi7o4du7IWZYMGZqWFypUzdBLazSjsimQRp07B11+bHtz1680vzv+VP79Z//bRR81fjbSNvIiIpJuICOjb1/x5cc8eKFHCHA8Ntbeu/9CPQpFM7MQJs/7tokVm/e2kpGvPKVz4yi5mNWuCt3fG1ykiIh5myxbo2tX06np7w+bNV8JuJqOwK5LJHD16ZRezbduuf06JEibctmtntuz18srQEkVExFPFx8OIEWb3s6QkKFkS5s2DGjXsruyGFHZFMoGDB024/eor+Pnn659z990m3D76KFSqlGmGQomIiKc4eNAsKbZjh2k/+SS8/z4EBdla1q0o7IrYwLIgLOxKwN279/rnlS17JeDef78CroiI2GjmTBN0g4Nh2jR47DG7K0oRhV2RDGJZsHv3lSEK+/df/7zKla8E3LvvztASRUREbmz4cDMpbehQs4ZuFqGwK5KOLMtsJHM54B4+fP3zqle/Msksk47vFxERT7NuHXz0EXz+uVnex9/ftLMYhV0RF0tKgh9+MMMTFi+Gv/669hyHAx5+2ITbtm3NigoiIiKZQlwcvPoqvPOOaX/wATz/vL013QaFXREXSEgwq64sWmQC7j//XHuOtzfUqWOGKLRuDQUKZHSVIiIitxAWBp06mXVzAfr0gV697K3pNinsiqTRpUtmc4dFi8xmD2fOXHuOr6/ZTKZdO7Ndb758GV6miIjIrVmWGaLw0ktm3/l8+WDGDPPDK4tT2BVJhdhYsz3vV1+Z7Xr//ffac/z9oUkTM0ShRQszaVVERCRTe/llmDDBPG7cGGbPdps/QSrsitzChQuwapUJuN9+C9HR154TGAjNmpmA27Rppl9yUEREJLkePczSYsOGQf/+brVbkcKuyA1s2mTG5K9YARcvXvv5oCDTc9uunfklODAw42sUERFJk4sXzVi8Zs1M+557zBaebthbo7Arch1//w1165ohTFfLnRtatTIBt0EDM2RBREQkS9m920xC+/1307Pz0EPmuBsGXVDYFbmuY8euBN3cuc0mMY8+agKwr6+9tYmIiKRJUhJMnAivvALx8WZMbny83VWlO4VdkVt44gl49127qxAREbkNJ06YH2jr1pl2q1YwfbpHLBPkPqOPRURERORaX38N5cuboBsYCNOmwZIlHhF0QT27IiIiIu7t9Gk4dw5CQ2H+fChTxu6KMpTCroiIiIi7iY2FgADz+OmnzeMOHcDPz966bKBhDCIiIiLuIjERRo+GsmWv7HzkcEC3bh4ZdEFhV0RERMQ9HD0KderAa6/BH3+YIQuisCsiIiKS5S1YABUqwNatZr3cOXOgb1+7q8oUNGZXREREJKuKiDChdsEC065ZE+bNgxIl7K0rE1HProiIiEhWNXSoCbre3jBihNkRTUE3GfXsivyHZcHChVfa3t721SIiInJTI0fCvn0wbhzUqGF3NZmSenZFrmJZMHAgTJp05VirVraVIyIiktzBg6YH9/Ke9nnzwubNCro3oZ5dkf+XlATPPgsffWTaDgd88gk8/LC9dYmIiGBZMHMmDBgAFy7AXXdBly52V5UlKOyKYIJunz4m3IIJurNmmW3ERUREbHX2LPTqBYsXm3adOlC7tq0lZSUaxiAeLzEReva8EnS9vGDuXAVdERHJBNauhfLlTdD19TVjc9euhSJF7K4sy1DPrni0xETo3t2EWzCT0ebPh8cft7cuERERxo41qy0AlCljfkCFhtpbUxaknl3xWAkJZrjT5aDr4wOff66gKyIimcQDD5hxdX36wM8/K+imkXp2xSPFx0OnTvDVV6bt6wtffqmVF0RExEaWBb//DvfcY9r16sH//gf33mtvXVmcenbF41y6ZHpvLwddPz8zFEpBV0REbHPqFDRvDlWrwh9/XDmuoHvbFHbFo8TFQbt2sGSJafv7w9Kl5vuLiIiILVasMJPQVqwwf3rctcvuityKwq54jNhYaNsWli0z7WzZ4NtvoUkTe+sSEREPdfEi9O8PzZrB6dNQrhzs2AGPPWZ3ZW5FY3bFI1y8CK1bw+rVph0YaIJu3bq2liUiIp5q924zeeS330x7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axKRNElzz25MTAyrVq1i2rRpnD17lhUrVriyrgx39RCGtm3tq0NERDKBy8F2wADYsUNBVyQLS1PP7ubNm2ndujXZsmUjPDychx56iKeeeopBgwbx4osvurrGdBcTAytXmschIdoGWETE4yQlmWXESpQw7U6d4P77oUIFe+sSkduWpp7dZ555hnHjxnHixAmyZ89Ojhw5+OKLL3j33XddXV+GWL0aLl40j1u10prgIiIe5cQJaNTILMETHn7luIKuiFtIU9g9deoUDRo0SHasePHixMbGuqSojKYhDCIiHmrxYjMJbd06iIiAXbvsrkhEXCxNYbdVq1Z06tSJ1atXY1kWx48f54033qBVq1auri/dXboEy5aZxzlzQr169tYjIiIZIDoaevaERx+Fc+egcmUTdBs3trsyEXGxNIXdSZMmcd9999GqVSsiIyNp0KABfn5+TJo0ydX1pbuNG82yYwDNm5vVZURExI3t2AGVKsGMGWbpnSFDYNs2uOceuysTkXSQpglqOXLkYMaMGUyfPp3w8HBCQkJwZNG1ujSEQUTEw3z0ERw6BIULw9y5UKeO3RWJSDpKU8/ue++9x19//YXD4eCOO+7IskE3MRG+/to8DgiAJk1sLUdERDLCpEnw7LPw668KuiIeIE1hd+vWrVSoUIEHHniAcePGcejQIVfXlSG2bTM7QYIZppU9u731iIhIOliwALp0Acsy7Zw54f33IXdue+sSkQyRprD71VdfER4ezsSJE4mKiqJjx45UqlSJN99809X1pZukJPO97jINYRARcTMRESbkdu4M8+fDl1/aXZGI2CDNO6h5e3vz0EMP8cYbbzB69Gjuvfdexl7eWjGTsyyzKc7l73vZs5vJaSIi4ia2bjXr5M6fbxZPHzFCvRoiHipNYffw4cN89NFHNG/enCJFivDJJ5/QsmVLTp8+7er6XM6yzMTbDz80bS8vmDUL8uSxty4REXGB+Hh4/XWoXdvsiFayJGzZAm+8AT5pmpMtIllcmr7yK1WqRPPmzenevTtffvkl2bJlc3Vd6WbCBC/Gj7/SnjULHnvMvnpERMSFunWDhQvN4yeegA8+gKAge2sSEVulqWf39OnTzJ8/n0cffTTNQXffvn1UrVqV3LlzM2jQIKzLEwdSoEOHDjz77LNpet1x467sBTxlivm+KCIibuK55yBfPvj8c5g9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i4ujXbt2rq1QRDKnU6fgwAF4+GHTbtkS/vgDgoLsrUtEROQqKQq7Pj4+TJo0ydkuWbIkJa+z49GFCxeShWIRcVMrVkD37hAfD7/+CoULm+MKuiIiksmkaJ1df3//a5YZux4/Pz8+//zz2y5KRDKpixfNcIVmzeD0aShUCC5csLsqERGRG3LJphJJSUns27cPX19fWrZs6YqnFJHMZvduCA2FyZNNe+BA2LHDrLogIiKSSaUo7N5q/dzExEQefPBBALZt20ZsbKxLihORTGLiRKhWDX77DQoUgO++g3ffhYAAuysTERG5qRSFXcuyGDt27A0/7+vri6+vLwB9+vThs88+c011IpI5HDoEly5Bq1awdy80amR3RSIiIimSoglql8PsihUr6NOnDwHX6c3x8vJiy5YtREZG0rVrV5cXKiIZLC4O/P3N4wkT4MEHoVMn0HraIiKShaRqzG5sbCwtW7YkKSmJDh06ULt2bSzLYu7cuViWxRdffMHLL798zfq7IpKFREdDz57wyCOQlGSOBQZC584KuiIikuWkOpUWKVKEwMBASpUqhbe3N9myZaNatWoAlC9fnscee8zlRYpIBtm+3YTaQ4dMsN26FWrVsrsqERGRNLtlz65lWYwZM4bo6GiOHz9+03OffvppgoODXVWbiGSUxEQYPRpq1jRBt0gR2LBBQVdERLK8W4bd+Ph49uzZw/79+xk5cmRG1CQiGenoUahTB157zYTexx+HPXugdm27KxMREblttwy7lzeKqFKlCh9//PFNz50wYQJHjx51VW0ikt4sy0w627rV7H42Zw589hnkzm13ZSIiIi6RqglqDoeDs2fPcunSJU6fPs25c+e4dOkShw8fBiAqKooJEyakS6Eikg4cDvjoI9Ozu3s3dO2qSWgiIuJWUj1BbdKkSfj5+TFixAjnsQoVKpAtWzZeeukl7rvvPsaNG0f27NldWqiIuMjWrRAWBr16mXbFimZ8roiIiBtKUc9uUlIS8fHxtG3blri4OKKioq75SEpKIigoiHbt2vH555+nd90iklrx8fD662Ysbr9+sGuX3RWJiIikuxT17CYkJFCzZs0bfj4uLo6EhAQAevTogZdXqkZHiEh6O3gQunQxS4sBdOsGpUvbW5OIiEgGSFHY9fPzY+LEiTd+Eh8fvvrqKwDKli3rmspE5PZZFsycCQMGwIUL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+aaZiJaUBCVLwrx5CroiIuIWEhMTOX78OIGBgYSEhKQ6sCYlJREdHU2OHDnw8tJUo6zOsiwuXbpEeHg4R44coXTp0ul+XxV27XTwoOnN3b7dtJ94Aj74AIKC7K1LRETEReLj47Esi5CQELJly5bq65OSkrh06RIBAQEKu24iW7Zs+Pr6cuzYMee9TU8Ku3ZJTITmzeHAAbP72dSpZiKaiIiIG9IQBLlaRv7iol+R7OLtDZMnQ7168OuvCroiIiIi6UA9uxlp/Xqz1W+7dqbdoAHUr68lxURERETSiXp2M0JcHAwaZILtU0/BkSNXPqegKyIikimtW7cOh8PByZMnncdmz55NxYoVk50XHBzMxo0bAfj3339p164d2bNnp3LlyuzcuTNda9y3bx9Vq1Yld+7cDBo0KEUrXliWxfjx4yldujT58uWjX79+XLhw4Zrz4uPjKVeunPO9AUybNo0777wTX19fGjVqxN9//w3A8OHDcTgc13xcfa1dFHbT22+/QfXqMGGCaXfuDHfcYW9NIiIickurV68GYM2aNSm+pnv37ly4cIHdu3fTs2dPWrZsycWLF9Olvri4OFq0aEFoaCg7d+4kLCyM2bNn3/K6GTNm8P777zN//ny+//57tm/fTp8+fa45b/z48ezbt8/Z3rp1K6+//jpz587lyJEjxMbG8tJLLwEwZMgQzp8/7/zYs2cPISEhVKpUyWXvN60UdtOLZcFHH0HlyrB7t9kcYulSmDIFsme3uzoRERG5hTVr1lCnTp0Uh90jR46wdOlSZs6cSenSpenbty++vr6sX7/+pte1bt2a4ODgaz4+/PDDm163cuVKIiIimDhxInfddRdjxoxhxowZt6xzzpw5DBo0iAceeIAyZcowYsQIli5dmuycgwcPMmHCBIoXL+489vvvvzNlyhQaNGhA4cKF6d69u7PnOiAg4Jran3/+eXLlynXLetKbxuymh8REaNMGli0z7caNYdYsuPNOe+sSERHJBKpUgX/+SenZDiwrp0tWcyhQAFI6qiA8PJw9e/awdOlSevbsiWVZt6zh+++/p2TJktx51c/7fv363TLwTZ069bq9v3ny5LnpdXv27KF69eoEBgYCUL58ecLCwm56DcCZM2coWrSos+3t7Y23t3eyc3r37s2QIUNYuXKl81iPHj2SnfP7779TqlSpa57/5MmTLFmy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qsduhPLlYfFi8PWFceNg7Vq48840vhsRERERyaxsCbt79uyhevXqBAYGAlC+fHnCwsJueU29evWcQx0eeOABdu3alerXnnWuNZw8CWXKwI8/wssvm4lpIiIiIuJ2bBmzGxkZSYmr1q11OBx4e3tz/vx5cufOfcNr7rtq97KcOXNy4sSJG75GXFwccXFxznZERIR5HiDxySdJevNNCAw0QxrE7cTHxxMTE8PZs2c1xssD6H57Ft1vz6L77VnOnTsHuHbTCVvCro+PD/7+/smOBQQEEBMTc8Ow+99rLp9/I2+99RYjRoy45ngRMLuh3WKMsIiIiIjY4+zZs+TKlcslz2VL2M2TJw/79u1LdiwqKgo/P7+bXhMeHp7i84cOHZpstYZ///2XYsWK8eeff7rsH08yr8jISIoUKcJff/1Fzpw57S5H0pnut2fR/fYsut+eJSIigqJFi5InTx6XPactYbdq1apMnz7d2T569ChxcXE3fWNVq1bls88+c7Z3795NoUKFbni+v7//Nb3HALly5dIXiwfJmTOn7rcH0f32LLrfnkX327O4crc8Wyao1apVi4iICObMmQPA2LFjadCgAd7e3kRGRhIfH3/NNS1btmTr1q1s2LCBhIQEJkyYQOPGjTO6dBERERHJQmwbsztt2jQ6derEoEGDSExMZNOmTYBZmeG9996jdevWya7Jly8f77zzDo0bNyZXrlxkz549TUuPiYiIiIjnsG0HtdatW3Pw4EF27txJzZo1CQkJAcyQhhvp27cvjRo14rfffqN27dqp+nOGv78/w4YNu+7QBnE/ut+eRffbs+h+exbdb8+SHvfbYblybQcRERERkUzEljG7IiIiIiIZQWFXRERERNyWwq6IiIiIuC23Cbv79u2jatWq5M6dm0GDBqVom7lNmzZx7733ki9fPiZOnJgBVYqrpOV+T5s2jTvvvBNfX18aNWrE33//nQGViiuk5X5fFh8fT7ly5di4cWP6FSgudTv3u0OHDjz77LPpWJ24Wlru99tvv03+/PnJmTMnjz76KGfPns2ASsVVzp49S4kSJW66KMHVbjevuUXYjYuLo0WLFoSGhrJz507CwsKYfYvtgMPDw2nZsiUdO3Zk27ZtzJ8/nw0bNmRMwXJb0nK/t27dyuuvv87cuXM5cuQIsbGxvPTSSxlTsNyWtNzvq40fP/6aHRsl87qd+/3dd9+xfv16Ro4cmb5Fisuk5X5v3ryZTz/9lM2bN7Nr1y5iY2N58cUXM6ZguW1nzpyhefPmKQ66LslrlhtYsmSJlTt3buvChQuWZVnW7t27rQcffPCm17z77rtWmTJlrKSkJMuyLOvrr7+2OnfunO61yu1Ly/2ePn26tWjRImd75syZ1t13352udYprpOV+X3bgwAErODjYKl68uLVhw4Z0rFJcJa33OyYmxipZsqQ1Y8aM9C5RXCgt9/vtt9+2Bg0a5GzPnTvXqlGjRrrWKa5Tv35967333rMA68iRI7c83xV5zS16dvfs2UP16tUJDAwEzMYUYWFht7ymXr16OBwOAB544AF27dqV7rXK7UvL/e7Rowdt27Z1tn///XdKlSqVrnWKa6Tlfl/Wu3dvhgwZQrFixdKzRHGhtN7vkSNHcvHiRXx8fFi/fn2qhj6IfdJyv8uWLcvixYv5448/OH36NDNmzKBhw4YZUa64wLRp0xgwYECKz3dFXnOLsBsZGUmJEiWcbYfDgbe3N+fPn0/xNTlz5uTEiRPpWqe4Rlru99XOnj3L1KlT6du3b3qVKC6U1vs9a9YsIiIi9OfNLCYt9/vPP/9k4sSJlCpVij///JNBgwbRtm1bBd4sIC33u0mTJpQuXZpSpUqRP39+Lly4wJAhQzKiXHGBkiVLpup8V+Q1twi7Pj4+1+y0ERAQQExMTIqvudX5knmk5X5frW/fvtSsWZNmzZqlR3niYmm53+Hh4QwdOpQZM2bg42PbRpGSBmm537NnzyZ//vysWbOG1157jY0bN7Jp0ybWrFmT3uXKbUrL/f7iiy84duwY+/fv5+zZs5QtW5YuXbqkd6liE1fkNbf4KZAnT55rJqBERUXh5+d302vCw8NTfL5kHmm535fNnDmTzZs3s3v37nSqTlwtLfd74MCB9OjRg4oVK6ZzdeJqabnfx48fp379+s4fiEFBQZQuXZojR46ka61y+9Jyvz/77DOeeeYZypQpA8B7771Hrly5+PfffwkODk7PcsUGrshrbtGzW7VqVX788Udn++jRo8TFxZEnT54UX7N7924KFSqUrnWKa6TlfgNs376dgQMHsnDhQvLnz5/eZYqLpOV+L1iwgA8++IDg4GCCg4PZunUrzZs3Z+zYsRlRstyGtNzvIkWKcPHiRWc7KSmJ48ePa6x2FpCW+52QkMCpU6ec7cvLSCYmJqZfoWIbl+S11M+jy3zi4+OtkJAQ69NPP7Usy7J69+5tNW/e3LIsy4qIiLAuXbp0zTXh4eFWQECAtX79eis+Pt5q1qyZ1b9//wytW9ImLff7n3/+se644w5r1KhRVlRUlPNDMr+03O8jR44k+6hWrZr12WefWefPn8/I0iUN0nK/9+/fb2XPnt366quvrL/++st6+eWXrbx581qRkZEZWrukXlru91tvvWWFhIRYU6ZMsWbPnm1VrFhRqzFkQfxnNYb0zGtuEXYtyyxfki1bNuuOO+6w8ubNa+3bt8+yLMsqVqyYtWTJkuteM3nyZMvX19fKly+fVaxYMeuff/7JwIrldqT2fr/77rsWcM2HZA1p+fq+Wu3atbX0WBaSlvv97bffWhUrVrQCAgKs+++/39q6dWsGViy3I7X3++LFi9azzz5rFSxY0PLz87Nq165tHTp0KIOrltv137CbnnnN8f8v6BZOnDjBzp07qVmzJiEhISm65tChQ/z222/Url2bnDlzpnOF4kppud+Sdel+exbdb8+i+y23cjt5za3CroiIiIjI1dxigpqIiIiIyPUo7IqIiIiI21LYFRERERG3pbArIiIiIm5LYVdEbltCQgILFy7k0qVL13wuNjaW9J4He/XuOrfLsizeeustEhISXPac4h7mzZvHH3/8YXcZIpJKCrsictt27drF888/z8iRI8mbNy/FixcnICCAnTt3UrlyZcqVK8cdd9zBiBEjnNfExsYSHR1NbGzsDT8uXrzI+fPnbxo8//33XwoVKsSePXtc8l7efPNNDh8+jI+PW+ymLi5UuHBh2rVrR0xMjN2liEgqKOyKyG1bs2YNHTt2JGfOnIwYMYKjR49SvXp1/P39CQsLY9++ffTt25ccOXI4r5k/fz4FChRI9pE7d25y5syZ7FjBggX53//+57zuoYceokyZMoSGhlKlShXq169Pjhw5aNeuHVWqVKFKlSqUK1eOEiVKsG7dulS9j/3797N48WI++ugjAOrUqYPD4Uj2Ubhw4RQ/35NPPsnw4cNTVUNaXF1f0aJFefvtt1363EePHs2w61Jj9uzZzvcdEBBAaGgoq1evTrfXq1OnDm3btmX8+PHp9hoi4noKuyJy27744gsaNWqEw+G46XleXle+5fTo0YPo6Gj+/fdf58fIkSPp1KmTsx0R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",
      "text/plain": [
       "<Figure size 800x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "特征重要性排序：\n",
      "        特征       重要性\n",
      "4  月消费/月收入  0.358837\n",
      "2   月消费（元）  0.308835\n",
      "0       年龄  0.306063\n",
      "3       性别  0.026265\n",
      "1   月收入（元）  0.000000\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.ensemble import AdaBoostClassifier\n",
    "from sklearn.metrics import accuracy_score, roc_auc_score, roc_curve, classification_report\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']\n",
    "plt.rcParams['axes.unicode_minus'] = False\n",
    "\n",
    "# 1. 读取数据\n",
    "df = pd.read_excel(r'D:\\商业数据分析案例\\第九章\\信用卡精准营销模型.xlsx')\n",
    "\n",
    "print(\"数据基本信息：\")\n",
    "print(f\"数据形状: {df.shape}\")\n",
    "print(f\"响应分布:\\n{df['响应'].value_counts()}\")\n",
    "\n",
    "# 2. 提取特征变量和目标变量\n",
    "X = df[['年龄', '月收入（元）', '月消费（元）', '性别', '月消费/月收入']]\n",
    "y = df['响应']\n",
    "\n",
    "# 3. 划分训练集和测试集\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n",
    "\n",
    "print(f\"\\n训练集大小: {X_train.shape}\")\n",
    "print(f\"测试集大小: {X_test.shape}\")\n",
    "\n",
    "# 4. 模型训练\n",
    "model = AdaBoostClassifier(n_estimators=50, random_state=42,algorithm='SAMME')\n",
    "model.fit(X_train, y_train)\n",
    "\n",
    "# 5. 模型预测\n",
    "y_pred = model.predict(X_test)\n",
    "y_pred_proba = model.predict_proba(X_test)[:, 1]\n",
    "\n",
    "# 6. 模型评估\n",
    "accuracy = accuracy_score(y_test, y_pred)\n",
    "auc = roc_auc_score(y_test, y_pred_proba)\n",
    "\n",
    "print(\"\\n模型评估结果：\")\n",
    "print(f\"准确率: {accuracy:.4f}\")\n",
    "print(f\"AUC: {auc:.4f}\")\n",
    "\n",
    "# 分类报告\n",
    "print(\"\\n分类报告：\")\n",
    "print(classification_report(y_test, y_pred))\n",
    "\n",
    "# 7. 绘制ROC曲线并保存\n",
    "fpr, tpr, _ = roc_curve(y_test, y_pred_proba)\n",
    "plt.figure(figsize=(8, 6))\n",
    "plt.plot(fpr, tpr, color='blue', linewidth=2, label=f'AUC = {auc:.4f}')\n",
    "plt.plot([0, 1], [0, 1], color='red', linestyle='--')\n",
    "plt.xlim([0.0, 1.0])\n",
    "plt.ylim([0.0, 1.05])\n",
    "plt.xlabel('假正率 (False Positive Rate)')\n",
    "plt.ylabel('真正率 (True Positive Rate)')\n",
    "plt.title('AdaBoost模型ROC曲线')\n",
    "plt.legend(loc=\"lower right\")\n",
    "plt.grid(True)\n",
    "\n",
    "# 保存图片到相同目录\n",
    "plt.savefig(r'D:\\商业数据分析案例\\第九章\\ROC曲线.png', dpi=300, bbox_inches='tight')\n",
    "plt.show()\n",
    "\n",
    "# 8. 特征重要性\n",
    "feature_importance = pd.DataFrame({\n",
    "    '特征': X.columns,\n",
    "    '重要性': model.feature_importances_\n",
    "}).sort_values(by='重要性', ascending=False)\n",
    "\n",
    "print(\"\\n特征重要性排序：\")\n",
    "print(feature_importance)\n",
    "\n",
    "# 保存特征重要性结果\n",
    "feature_importance.to_excel(r'D:\\商业数据分析案例\\第九章\\特征重要性.xlsx', index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8118906d-c50b-4952-96a1-3e217af1f042",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
